</para>
<para>
In most cases, the code is as simple to build as running:
- <screen format="linespecific">./configure && make</screen>
</para>
+<para><command> ./configure && make</command></para>
<para><ulink url="http://expat.sourceforge.net">Expat</ulink>
is strongly recommended for source builds as it is
required for reading all the XML formats such as GPX.
is recommended for OS/X and Linux if you want to use a USB Garmin.
</para>
<para>There are additional flags that can be passed to configure to
- customize your build of GPSBabel. <screen format="linespecific"> ./configure --help</screen> lists all the supported options, but additionally we have:
+ customize your build of GPSBabel.
</para>
+<para><command>./configure --help</command></para>
<para>
+lists all the supported options, but additionally we have:
<option>--disable-shapefile</option> Excludes the shapefile support.
</para>
<para>
The <parameter class="command">format</parameter> parameters in the above list
refer to the names of formats or file types supported by GPSBabel.
</para>
-<screen format="linespecific">gpsbabel -? </screen>
+<para><command>gpsbabel -? </command></para>
<para>will always show you the supported file types. In this document, the
various supported formats are listed in <xref linkend="The_Formats" />. The
name that you would use on the command line follows the format name in
this program, just tell it what you're reading, where to read
it from, what you're writing, and what to write it to. For
example:</para>
- <screen format="linespecific">gpsbabel -i geo -f /tmp/geocaching.loc -o gpx -F /tmp/geocaching.gpx</screen>
+ <para><command>gpsbabel -i geo -f /tmp/geocaching.loc -o gpx -F /tmp/geocaching.gpx</command></para>
<para>tells it to read the file "/tmp/geocaching.loc" in geocaching.com
format and create a new file in GPX format.</para>
<para> This command will read from a Magellan unit attached
to the first serial port on a Linux system (device names will
vary on other OSes) and write them as a geocaching loc file.
The second command does the same on Microsoft Windows.</para>
- <screen format="linespecific">gpsbabel -i magellan -f /dev/ttyS0 -o geo -F mag.loc</screen>
- <screen format="linespecific">gpsbabel -i magellan -f com1 -o geo -F mag.loc</screen>
+ <para><command>gpsbabel -i magellan -f /dev/ttyS0 -o geo -F mag.loc</command></para>
+ <para><command>gpsbabel -i magellan -f com1 -o geo -F mag.loc</command></para>
<para>Optionally, you may specify <parameter moreinfo="none">"-s"</parameter> in any command line. This
causes the program to ignore any "short" names that may be
present in the source data format and synthesize one from the
the 'GC1234' ones that are optimized for NMEA-only receivers.
A geocacher with a Magellan receiver may thus find commands
like this useful.</para>
- <screen format="linespecific"> gpsbabel -s -i geo -f geocaching.loc -o magellan -F /dev/ttyS0 </screen>
- <screen format="linespecific"> gpsbabel -s -i geo -f geocaching.loc -o magellan -F com1</screen>
+ <para><command>gpsbabel -s -i geo -f geocaching.loc -o magellan -F /dev/ttyS0 </command></para>
+ <para><command>gpsbabel -s -i geo -f geocaching.loc -o magellan -F com1</command></para>
</sect1>
<sect1 id="Suboptions">
<title>Suboptions</title>
itself. The available suboptions are listed on the individual
format pages. We'll make an example from <xref linkend="fmt_kml" />:
</para>
- <screen format="linespecific">gpsbabel -i gpx -f file.gpx -o kml,deficon="file://myicon.png",lines=0 -F one.kml -o kml -F two.kml</screen>
+ <para><command>gpsbabel -i gpx -f file.gpx -o kml,deficon="file://myicon.png",lines=0 -F one.kml -o kml -F two.kml</command></para>
<para>
This command will read the GPX file <filename>file.gpx</filename>
and create two KML files. <filename>one.kml</filename> will
<parameter moreinfo="none">-i</parameter> argument is seen.
Files are read in the order they appear. So you could merge
three input files into one output file with: </para>
- <screen format="linespecific">gpsbabel -i geo -f 1.loc -f 2.loc -f 3.loc -o geo -F big.loc</screen>
+ <para><command>gpsbabel -i geo -f 1.loc -f 2.loc -f 3.loc -o geo -F big.loc</command></para>
<para>You can merge files of different types:</para>
- <screen format="linespecific">gpsbabel -i geo -f 1.loc -i gpx -f 2.gpx -i pcx 3.pcx \
--o gpsutil -F big.gps</screen>
+ <para><command>gpsbabel -i geo -f 1.loc -i gpx -f 2.gpx -i pcx 3.pcx
+-o gpsutil -F big.gps</command></para>
<para> You can write the same data in different output formats:</para>
- <screen format="linespecific">gpsbabel -i geo -f 1.loc -o gpx -F 1.gpx -o pcx 1.wpt</screen>
+ <para><command>gpsbabel -i geo -f 1.loc -o gpx -F 1.gpx -o pcx 1.wpt</command></para>
<para>If you want to change the character set of input or/and
output side you can do this with the option <option>-c
<character set></option>. You can get a complete list
of supported character sets with "gpsbabel -l". To change
the character set on both sides you should do this:</para>
- <screen format="linespecific">gpsbabel -i xcsv,style=foo.style -c latin1 -f foo \
- -o xcsv,style=bar.style -c ms-ansi -F bar</screen>
+ <para><command>gpsbabel -i xcsv,style=foo.style -c latin1 -f foo -o xcsv,style=bar.style -c ms-ansi -F bar</command></para>
<para>Note, that some formats has a fixed character set and ignore this option.</para>
</sect1>
<sect1 id="Route_And_Track_Modes">
waypoints, and is the default. So if you wanted to read all
data from your unit into a gpx file, you might use a command
like:</para>
- <screen format="linespecific"> gpsbabel -t -r -w -i magellan -f com1: -o gpx -F backup.gpx</screen>
+ <para><command> gpsbabel -t -r -w -i magellan -f com1: -o gpx -F backup.gpx</command></para>
<para> Tracks and routes are advanced features and don't try
to handle every possible hazard that can be encountered
during a conversion. If you're merging or converting files
(i.e. wrapper applications using GPSBabel in the background).
The inifile mechanism can be disabled with an empty filename.
</para>
- <screen format="linespecific">gpsbabel -p "" -i gpx -f something.gpx -o tiger -F -</screen>
+ <para><command>gpsbabel -p "" -i gpx -f something.gpx -o tiger -F -</command></para>
</sect1>
<sect1 id="tracking">
<title>Realtime tracking</title>
inputs and KML is supported on output. Additional formats
may be added by interested parties later.
</para>
+ <para><command>gpsbabel -T -i garmin -f usb: -o kml -F xxx.kml</command></para>
<para>
- <screen format="linespecific">gpsbabel -T -i garmin -f usb: -o kml -F xxx.kml</screen>
Will read the USB-connected Garmin and rewrite 'xxx.kml' atomically,
suitable for a self-refreshing network link in Google Earth.
</para>
<para>
Here is an example demonstrating segmenting a large command line
by placing the input and filtering directives in a file called 'all_my_files'.
- <screen format="linespecific">gpsbabel -b all_my_files -o gdb -F all_my_tracks.gdb</screen>
</para>
+ <para><command>gpsbabel -b all_my_files -o gdb -F all_my_tracks.gdb</command></para>
<para>
'all_my_files' could look like this:
</para>
would include only points within one mile of the section of Lima Road
covered by the arc.
</para>
-<screen format="linespecific">gpsbabel -i geo -f 1.loc -x arc,file=lima_rd.txt,distance=1 -o mapsend -F 2.wpt</screen>
+<para><command>gpsbabel -i geo -f 1.loc -x arc,file=lima_rd.txt,distance=1 -o mapsend -F 2.wpt</command></para>
</example>
</para>
<example id="example_discard_filter">
<title>Using the discard filter</title>
-<screen format="linespecific"> gpsbabel -i gpx -f in.gpx -x discard,hdop=10,vdop=20,hdopandvdop -o gpx -F out.gpx</screen>
+<para><command> gpsbabel -i gpx -f in.gpx -x discard,hdop=10,vdop=20,hdopandvdop -o gpx -F out.gpx</command></para>
</example>
<para> Contributed by Tobias Minich.</para>
<link linkend="fmt_gpx">gpx</link> file that more than likely
contains only unique points and point data.
</para>
- <screen format="linespecific"> gpsbabel -i gpx -f 1.gpx -f 2.gpx -x duplicate,location,shortname -o gpx -F merged_with_no_dupes.gpx</screen>
+ <para><command> gpsbabel -i gpx -f 1.gpx -f 2.gpx -x duplicate,location,shortname -o gpx -F merged_with_no_dupes.gpx</command></para>
</example>
This command line reads track.gpx and inserts points wherever two adjacent
trackpoints are more than 10 seconds apart:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f track.gpx -x interpolate,time=10 -o gpx -F newtrack.gpx</screen>
+<para><command>gpsbabel -i gpx -f track.gpx -x interpolate,time=10 -o gpx -F newtrack.gpx</command></para>
<para>
This command reads track.gpx and inserts points wherever two adjacent
trackpoints are more than 15 kilometers apart:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f track.gpx -x interpolate,distance=15k -o gpx -F newtrack.gpx</screen>
+<para><command>gpsbabel -i gpx -f track.gpx -x interpolate,distance=15k -o gpx -F newtrack.gpx</command></para>
<para>
This command reads track.gpx and inserts points wherever two adjacent
trackpoints are more than 2 miles apart:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f track.gpx -x interpolate,distance=2m -o gpx -F newtrack.gpx</screen>
+<para><command>gpsbabel -i gpx -f track.gpx -x interpolate,distance=2m -o gpx -F newtrack.gpx</command></para>
</example>
you may use this filter to remove the waypoints and the routes
with this command:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f bigfile.gpx -x nuketypes,waypoints,routes -o gpx -F tracksonly.gpx</screen>
+<para><command>gpsbabel -i gpx -f bigfile.gpx -x nuketypes,waypoints,routes -o gpx -F tracksonly.gpx</command></para>
</example>
example, the duplicate filter is used to remove a list of waypoints to be
ignored from a larger collection of waypoints:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f waypoints.gpx -i csv -f to_ignore.csv -x duplicate,shortname,all -o gpx -F filtered.gpx</screen>
+<para><command>gpsbabel -i gpx -f waypoints.gpx -i csv -f to_ignore.csv -x duplicate,shortname,all -o gpx -F filtered.gpx</command></para>
</example>
<example id="Correcting_Cache_Locations">
<title>Using the duplicate filter to correct the locations of "puzzle"
geocaches</title>
-<screen format="linespecific">gpsbabel -i gpx -f 43622.gpx -i csv -f corrections.csv -x duplicate,shortname,correct -o gpx -F 43622-corrected.gpx</screen>
+<para><command>gpsbabel -i gpx -f 43622.gpx -i csv -f corrections.csv -x duplicate,shortname,correct -o gpx -F 43622-corrected.gpx</command></para>
<para>
After this command is run, the waypoints in the output file will have all
of the descriptive information from <filename>43622.gpx</filename>, but
Suppose you want to merge tracks recorded with two different GPS devices
at the same time. To do that, use this command line:
</para>
-<screen format="linespecific">gpsbabel -t -i gpx -f john.gpx -i gpx -f doe.gpx -x track,merge,title="COMBINED LOG" -o gpx -F john_doe.gpx</screen>
+<para><command>gpsbabel -t -i gpx -f john.gpx -i gpx -f doe.gpx -x track,merge,title="COMBINED LOG" -o gpx -F john_doe.gpx</command></para>
</example>
<para>
The following command line will shift all tracks to be one hour later.
</para>
-<screen format="linespecific">gpsbabel -t -i gpx -f in.gpx -x track,move=+1h -o gpx -F out.gpx</screen>
+<para><command>gpsbabel -t -i gpx -f in.gpx -x track,move=+1h -o gpx -F out.gpx</command></para>
</example>
<para> For example, to split the track if the distance between
points is greater than 100 meters, use this:</para>
- <screen format="linespecific">
-gpsbabel -t \
- -i gpx -f in.gpx \
- -x track,pack,sdistance=0.1k" \
+ <para><command>
+gpsbabel -t
+ -i gpx -f in.gpx
+ -x track,pack,sdistance=0.1k"
-o gpx -F out.gpx
-</screen>
+</command></para>
<para> The sdistance option can be combined with the split option.
The track then will be split only if both time and distance
interval exceeds the supplied values. This technique can be used to
This example splits the track
if the device is without signal for at least 5 minutes
and during this time moves more than 300 meters:</para>
- <screen format="linespecific">
+ <para><command>
gpsbabel -t \
-i gpx -f in.gpx \
-x track,pack,sdistance=0.3k,split=5m \
-o gpx -F out.gpx
-</screen>
+</command></para>
split a single tracks into separate tracks for each day and
name them, use this:
</para>
- <screen format="linespecific">
-gpsbabel -t -i gpx -f in.gpx -x \
- track,split,title="ACTIVE LOG \
- # %Y%m%d" -o gpx -F out.gpx</screen>
+ <para><command> gpsbabel -t -i gpx -f in.gpx -x track,split,title="ACTIVE LOG # %Y%m%d" -o gpx -F out.gpx</command></para>
<para> If the input has multiple tracks, pack them together before
splitting them back apart per day thusly: </para>
- <screen format="linespecific">
-gpsbabel -t -i gpx -f in.gpx \
- -x track,pack,split,title="ACTIVE LOG # %D" \
- -o gpx -F out.gpx</screen>
+ <para><command> gpsbabel -t -i gpx -f in.gpx
+ -x track,pack,split,title="ACTIVE LOG # %D"
+ -o gpx -F out.gpx</command></para>
<para> Additionally you can add an interval to the split
option. With this the track will be split if the time
between two points is greater than this parameter. The
</para>
<para> For example, to split a track based on an four hour
interval, use this:</para>
- <screen format="linespecific">
-gpsbabel -t \
- -i gpx -f in.gpx \
- -x track,pack,split=4h,title="LOG # %c" \
+ <para><command>
+gpsbabel -t
+ -i gpx -f in.gpx
+ -x track,pack,split=4h,title="LOG # %c"
-o gpx -F out.gpx
-</screen>
+</command></para>
To get only the parts of a track that were mapped on 20 July 2005
between 10 AM and 6 PM, use this command line:
</para>
-<screen format="linespecific">gpsbabel -t -i gpx -f in.gpx -x track,start=2005072010,stop=2005072018 -o gpx -F out.gpx </screen>
+<para><command>gpsbabel -t -i gpx -f in.gpx -x track,start=2005072010,stop=2005072018 -o gpx -F out.gpx </command></para>
</example>
</para>
<example id="transform_del">
<title>Convert a GPX track to GPX waypoints, tossing the original track</title>
-<para>
-<screen format="linespecific">gpsbabel -i gpx -f blah.gpx -x transform,wpt=trk,del \
--o gpx -F converted.gpx</screen>
-</para>
+<para><command>gpsbabel -i gpx -f blah.gpx -x transform,wpt=trk,del -o gpx -F converted.gpx</command></para>
</example>
<para>
Say you you have a data file that came from CSV file that you want to convert
to a GPX route that can be loaded into Mapsource. Use the following command:
-<screen format="linespecific">gpsbabel -i csv -f blah.txt -x transform,rte=wpt \
--o gdb -F blah.gdb</screen>
</para>
+<para><command>gpsbabel -i csv -f blah.txt -x transform,rte=wpt -o gdb -F blah.gdb</command></para>
</example>
<para>
Say you you have a data file that came from CSV file that you want to convert
to a GPX track that can be loaded into Mapsource. Use the following command:
-<screen format="linespecific">gpsbabel -i csv -f blah.txt -x transform,trk=wpt \
--o gdb -F blah.gdb</screen>
</para>
+<para><command>gpsbabel -i csv -f blah.txt -x transform,trk=wpt -o gdb -F blah.gdb</command></para>
</example>
<title>Converting a track to a sequence of waypoints</title>
<para>
Say you you have a KML file that contains a track but you want to convert it to a CSV file that can contain only waypoints, perhaps to import into a spreadsheet. Use the following command:
-<screen format="linespecific">gpsbabel -i kml -f blah.kml -x transform,wpt=trk \
--o csv -F blah.txt</screen>
</para>
+<para><command>gpsbabel -i kml -f blah.kml -x transform,wpt=trk -o csv -F blah.txt</command></para>
</example>
called mycounty.txt. This command line will give you only the points
in your county:
</para>
-<screen format="linespecific">gpsbabel -i geo -f 1.loc -x polygon,file=mycounty.txt -o mapsend -F 2.wpt</screen>
+<para><command>gpsbabel -i geo -f 1.loc -x polygon,file=mycounty.txt -o mapsend -F 2.wpt</command></para>
</example>
<example id="example_in_or_close_to">
<title>Using the polygon and arc filters to find points in or nearly in a
buffer zone around it in case there are points nearby that should be in the
polygon but aren't quite.
</para>
-<screen>
+<para><command>
gpsbabel -i gpx -f points.gpx -x stack,push -x polygon,file=mycounty.txt
-x stack,swap -x arc,file=mycounty.txt,distance=1k -x stack,pop,append
-x duplicate,shortname -o gpx -F nearmycounty.gpx
-</screen>
+</command></para>
<para>
This command makes a copy of the points, finds the ones that are in your
your county, swaps that result with the copy of the original set of points,
The following command removes multiple points that are within
one foot of each other, leaving just one.
</para>
-<screen format="linespecific">gpsbabel -i geo -f 1.loc -f 2.loc -x position,distance=1f -o mapsend -F 3.wpt</screen>
+<para><command>gpsbabel -i geo -f 1.loc -f 2.loc -x position,distance=1f -o mapsend -F 3.wpt</command></para>
</example>
<para>This example command line would include only points within 1 1/2 miles
of N30.000 W 90.000</para>
-<screen format="linespecific">gpsbabel -i geo -f 1.loc -x radius,distance=1.5M,lat=30.0,lon=-90.0 -o mapsend -F 2.wpt</screen>
+<para><command>gpsbabel -i geo -f 1.loc -x radius,distance=1.5M,lat=30.0,lon=-90.0 -o mapsend -F 2.wpt</command></para>
</example>
wish to use with a Magellan GPS receiver that only supports up to 50 points
in a route:
</para>
-<screen format="linespecific">gpsbabel -r -i saroute -f RoadTrip.anr -x simplify,count=50 -o magellan -F grocery.rte</screen>
+<para><command>gpsbabel -r -i saroute -f RoadTrip.anr -x simplify,count=50 -o magellan -F grocery.rte</command></para>
duplicates can be removed with the DUPLICATE filter; see
above.)
</para>
- <screen format="linespecific">
-gpsbabel -i gpx -f in.gpx \
- -x stack,push,copy \
- -x polygon,file=county_a.txt \
- -x stack,swap \
- -x polygon,file=county_b.txt \
- -x stack,pop,append \
+ <para><command>
+gpsbabel -i gpx -f in.gpx
+ -x stack,push,copy
+ -x polygon,file=county_a.txt
+ -x stack,swap
+ -x polygon,file=county_b.txt
+ -x stack,pop,append
-o gpx -F out.gpx
-</screen>
+</command></para>
<para> This example reads a large list of waypoints and
extracts the points within 20 miles of each of two cities,
writing the waypoint descriptions into two different PalmDoc
files and exporting all of the points to the GPS receiver:
</para>
- <screen format="linespecific">
-gpsbabel -i gpx -f indiana.gpx \
- -x stack,push,copy \
- -x radius,lat=41.0765,lon=-85.1365,distance=20m \
- -o palmdoc,dbname=Fort\ Wayne -F fortwayne.pdb \
- -x stack,swap \
- -x radius,lat=39.7733,lon=-86.1433,distance=20m \
- -o palmdoc,dbname=Indianapolis -F indianapolis.pdb \
- -x stack,pop,append \
+ <para><command>
+gpsbabel -i gpx -f indiana.gpx
+ -x stack,push,copy
+ -x radius,lat=41.0765,lon=-85.1365,distance=20m
+ -o palmdoc,dbname=Fort\ Wayne -F fortwayne.pdb
+ -x stack,swap
+ -x radius,lat=39.7733,lon=-86.1433,distance=20m
+ -o palmdoc,dbname=Indianapolis -F indianapolis.pdb
+ -x stack,pop,append
-o magellan -F fwaind.wpt
-</screen>
+</command></para>
</para>
<para>
The following example show you how to create a route from a waypoint table.
- <screen format="linespecific">gpsbabel -i csv waypts.txt -x transform,rte=wpt -o gpx -F route.gpx</screen>
+</para>
+ <para><command>gpsbabel -i csv waypts.txt -x transform,rte=wpt -o gpx -F route.gpx</command></para>
+<para>
Only the first letter of option value decides which transformation will be done.
Depending on the used option it can be only 'W' for waypoints, 'R' for routes or
'T' for tracks.
layers by doing something like this:
</para>
-<screen format="linespecific">gpsbabel -i an1 -f one.an1 -f two.an1 -o an1 -F merged.an1</screen>
+<para><command>gpsbabel -i an1 -f one.an1 -f two.an1 -o an1 -F merged.an1</command></para>
<para>
In this case, the merged data will contain all of the
</para>
<example id="sample_bcr_command">
<title>Sample BCR command with all options</title>
- <screen format="linespecific">gpsbabel -r -i gpx -f in.gpx -o bcr,index=1,name="From A to B",radius=6371012 -F a_to_b.bcr</screen>
+ <para><command>gpsbabel -r -i gpx -f in.gpx -o bcr,index=1,name="From A to B",radius=6371012 -F a_to_b.bcr</command></para>
</example>
To communicate via USB use "usb:" as the filename on all OSes.
Thus, to read the waypoints from a Garmin USB unit and write
them to a GPX file:
+</para>
- <screen format="linespecific">gpsbabel -i garmin -f usb: -o gpx -F blah.gpx</screen>
+ <para><command>gpsbabel -i garmin -f usb: -o gpx -F blah.gpx</command></para>
-</para>
<para>
If you have multiple units attached via USB, you may provide
a unit number, with zero being the implied default. So if you
"usb:0", "usb:1", and "usb:2". To get a list of recognized devices,
specifiy a negative number such as:
</para>
- <screen format="linespecific">gpsbabel -i garmin -f usb:-1</screen>
+ <para><command>gpsbabel -i garmin -f usb:-1</command></para>
<para>
When reporting problems with the Garmin format, be sure to include
debugging dumps by adding "-D9" to the command line, like:
</para>
- <screen format="linespecific"> gpsbabel -D9 -i garmin -f usb: -o gpx -F blah.gpx</screen>
+ <para><command> gpsbabel -D9 -i garmin -f usb: -o gpx -F blah.gpx</command></para>
<para>
Custom icons are supported on units that support that.
</para>
<example id="all_garmin_txt_options">
<title>Command showing garmin_txt output with all options</title>
- <screen format="linespecific">gpsbabel -i garmin_txt,date="MM/DD/YYYY",time="hh:mm:ss xx" -f in.txt -o garmin_txt,date="DD.MM.YYYY",datum="WGS 72",dist=m,prec=6,temp=c,time="HH:mm:ss",utc=+2 -F out.txt</screen>
+ <para><command>gpsbabel -i garmin_txt,date="MM/DD/YYYY",time="hh:mm:ss xx" -f in.txt -o garmin_txt,date="DD.MM.YYYY",datum="WGS 72",dist=m,prec=6,temp=c,time="HH:mm:ss",utc=+2 -F out.txt</command></para>
</example>
Groundspeak extensions and writes an HTML file with encrypted hints
that is rendered using a custom stylesheet:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f 12345.gpx -o html,stylesheet=green.css,encrypt -F 12345.html</screen>
+<para><command>gpsbabel -i gpx -f 12345.gpx -o html,stylesheet=green.css,encrypt -F 12345.html</command></para>
A track stored in another format (GPX for example) representing a recorded
flight can be converted into an IGC file:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f mytrk.gpx -o igc -F myflight.igc</screen>
+<para><command>gpsbabel -i gpx -f mytrk.gpx -o igc -F myflight.igc</command></para>
<para>
If multiple track segments are provided in the input file, the one with the
most points will be used.
A route stored in another format representing a task declaration can be
converted into an IGC file:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f myrte.gpx -o igc -F mytask.igc</screen>
+<para><command>gpsbabel -i gpx -f myrte.gpx -o igc -F mytask.igc</command></para>
<para>
A route and a track in other formats can be included into a single IGC file:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f mytrk.gpx -f myrte.gpx -o igc -F myflight.igc</screen>
+<para><command>gpsbabel -i gpx -f mytrk.gpx -f myrte.gpx -o igc -F myflight.igc</command></para>
<para>
A similar result can be obtained by downloading the track log and routes
directly from a GPS device connected to a PC. For example to create an IGC
file from data recorded in a Garmin GPS connected to the first serial port of
a PC running Linux:
</para>
-<screen format="linespecific">gpsbabel -t -r -i garmin -f /dev/ttyS0 -o igc -F myflight.igc</screen>
+<para><command>gpsbabel -t -r -i garmin -f /dev/ttyS0 -o igc -F myflight.igc</command></para>
<para>
For Windows operating systems:
</para>
-<screen format="linespecific">gpsbabel -t -r -i garmin -f com1 -o igc -F myflight.igc</screen>
+<para><command>gpsbabel -t -r -i garmin -f com1 -o igc -F myflight.igc</command></para>
<para>
A waypoint file in another format containing a waypoint whose short name is
"PILOT" can be merged into an IGC file. The description field of the waypoint
will be used for the pilot name in the IGC file header:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f mytrk.gpx -f myrte.gpx -f mywpt.gpx -o igc -F myflight.igc
-gpsbabel -w -t -r -i garmin -f /dev/ttyS0 -o igc -F myflight.igc</screen>
+<para><command>gpsbabel -i gpx -f mytrk.gpx -f myrte.gpx -f mywpt.gpx -o igc -F myflight.igc
+gpsbabel -w -t -r -i garmin -f /dev/ttyS0 -o igc -F myflight.igc</command></para>
<para>
Some formats such as GPX allow routes, tracks and waypoints to exist in the
same file and can be used to fully populate an IGC file:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f myall.gpx -o igc -F myflight.igc</screen>
+<para><command>gpsbabel -i gpx -f myall.gpx -o igc -F myflight.igc</command></para>
</section>
<section id="fmt_igc_convfrom">
generate OziExplorer files containing tracks representing the recorded
flight (myozi.plt) and routes representing declared tasks (myozi.rte):
</para>
-<screen format="linespecific">gpsbabel -i igc -f myflight.igc -o ozi -F myozi</screen>
+<para><command>gpsbabel -i igc -f myflight.igc -o ozi -F myozi</command></para>
<para>
Or to GPX format:
</para>
-<screen format="linespecific">gpsbabel -i igc -f myflight.igc -o gpx -F myflight.gpx</screen>
+<para><command>gpsbabel -i igc -f myflight.igc -o gpx -F myflight.gpx</command></para>
<para>
Header information from the IGC file will be written to the description field
of the track(s).
A route stored in another format can be merged with an existing IGC file that
has no task declaration, to generate a new IGC file with a task declaration:
</para>
-<screen format="linespecific">gpsbabel -i igc -f myflight.igc -i gpx -f myrte.gpx -o igc -F mynew.igc</screen>
+<para><command>gpsbabel -i igc -f myflight.igc -i gpx -f myrte.gpx -o igc -F mynew.igc</command></para>
<para>
A two dimensional (lat/lon) track recorded during a flight by a GPS receiver
can be merged with a one dimensional (altitude) track recorded during the same
flight by a barograph instrument. The result is a three dimensional IGC file
representing the flight:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc -F my3D.igc</screen>
+<para><command>gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc -F my3D.igc</command></para>
<para>
The same can be acheived by downloading directly from a barograph instrument
supported by GPSBabel. For example with a Brauniger IQ Comp GPS variometer:
</para>
-<screen format="linespecific">gpsbabel -i baroiq -f /dev/ttyS0 -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</screen>
+<para><command>gpsbabel -i baroiq -f /dev/ttyS0 -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</command></para>
<para>
or:
</para>
-<screen format="linespecific">gpsbabel -i baroiq -f com1 -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</screen>
+<para><command>gpsbabel -i baroiq -f com1 -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</command></para>
<para>
(Documentation contributed by Chris Jones, Aug 2004)
</para>
<para>
To merge the databases, use a command line like the following:
</para>
-<screen format="linespecific">gpsbabel -i magnav -f Companion_Waypoints.PDB -i geo -f geocaching.loc -o magnav -F merged.pdb</screen>
+<para><command>gpsbabel -i magnav -f Companion_Waypoints.PDB -i geo -f geocaching.loc -o magnav -F merged.pdb</command></para>
<para>
Second, you must use the installer to install your new PDB file. Don't
make the mistake of copying it over the existing Companion_Waypoints.PDB
<para>
Step 1: Create a mapconverter file using gpsbabel.
</para>
-<screen format="linespecific">gpsbabel -i geo -f geocaching.loc -o mapconverter -F foo.txt</screen>
+<para><command>gpsbabel -i geo -f geocaching.loc -o mapconverter -F foo.txt</command></para>
<para>
Step 2: Launch mapconverter.exe and choose foo.txt as your input file.
Click the begin button to have mapconverter process foo.txt.
in the waypoint descriptions in the generated drawing file. If you do not
want that, specify the "nogc" option on the command line:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f 12345.gpx -o an1,nogc -F 12345.an1</screen>
+<para><command>gpsbabel -i gpx -f 12345.gpx -o an1,nogc -F 12345.an1</command></para>
This option has a special format that is best demonstrated by example:
</para>
-<screen format="linespecific">"road=I-599!limited!Beecher St.!major" </screen>
+<screen format="linespecific"> "road=I-599!limited!Beecher St.!major" </screen>
<para>
This option will cause any road named "I-599" to become a limited-access
<link linkend="fmt_gpx">gpx</link> file that contains two routes, you may
use this option to write them one at a time to individual files.
</para>
-<screen format="linespecific">gpsbabel -i gpx -f routes.gpx -o bcr,index=1 -F route1.bcr -o bcr,index=2 -F route2.bcr</screen>
+<para><command>gpsbabel -i gpx -f routes.gpx -o bcr,index=1 -F route1.bcr -o bcr,index=2 -F route2.bcr</command></para>
<link linkend="fmt_gpx">gpx</link> file that contains two routes, you may
use this option to write them one at a time to individual files.
</para>
-<screen format="linespecific">gpsbabel -i gpx -f routes.gpx -o compegps,index=1 -F route1.txt -o compegps,index=2 -F route2.txt</screen>
+<para><command>gpsbabel -i gpx -f routes.gpx -o compegps,index=1 -F route1.txt -o compegps,index=2 -F route2.txt</command></para>
<para>This options gets the current longtitude and latitude from the attached GPS device
and returns it as a single waypoint for further processing. For example,
to return the current position from a USB Garmin to a KML file:
-<screen format="linespecific">gpsbabel -i garmin,get_posn -f usb: -o kml -F myposition.kml</screen>
</para>
+<para><command>gpsbabel -i garmin,get_posn -f usb: -o kml -F myposition.kml</command></para>
a unit that supports it is rather futile, so place this option carefully
in your command.
-<screen format="linespecific">gpsbabel -o garmin,power_off -F /dev/ttyS0</screen>
</para>
+<para><command>gpsbabel -o garmin,power_off -F /dev/ttyS0</command></para>
difference in seconds between the two time domains through the "timeadj"
parameter. This can be any positive or negative integer:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc,timeadj=27 -F my3D.igc</screen>
+<para><command>gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc,timeadj=27 -F my3D.igc</command></para>
<para>
GPSBabel can also attempt to deduce the time difference automatically. This
is done by comparing the time that it thinks that you landed on the GPS track
and the barograph and adjusting accordingly:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</screen>
+<para><command>gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</command></para>
<link linkend="fmt_gpx">gpx</link> file that contains two tracks, you may
use this option to write them one at a time to individual files.
</para>
-<screen format="linespecific">gpsbabel -i gpx -f tracks.gpx -o ignrando,index=1 -F track1.txt -o ignrando,index=2 -F track2.txt</screen>
+<para><command>gpsbabel -i gpx -f tracks.gpx -o ignrando,index=1 -F track1.txt -o ignrando,index=2 -F track2.txt</command></para>
<link linkend="fmt_gpx">gpx</link> file that contains two routes, you may
use this option to write them one at a time to individual files.
</para>
-<screen format="linespecific">gpsbabel -i gpx -f routes.gpx -o nmn4,index=1 -F route1.rte -o nmn4,index=2 -F route2.rte</screen>
+<para><command>gpsbabel -i gpx -f routes.gpx -o nmn4,index=1 -F route1.rte -o nmn4,index=2 -F route2.rte</command></para>
</para>
<para>
This example will convert route number two and three into separate sdf files:
- <screen format="linespecific">
- gpsbabel -i gdb -f routes.gdb -r -o stmsdf,index=2 -F route-one.sdf -r -o stmsdf,index=3 -F route-three.sdf
- </screen>
</para>
+ <para><command> gpsbabel -i gdb -f routes.gdb -r -o stmsdf,index=2 -F route-one.sdf -r -o stmsdf,index=3 -F route-three.sdf </command></para>
<link linkend="fmt_gpx">gpx</link> file that contains three routes, you may
use this option to write them one at a time to individual files.
</para>
-<screen format="linespecific">gpsbabel -i gpx -f routes.gpx -o stmwpp,index=1 -F route1.txt -o stmwpp,index=2 -F route2.txt -o stmwpp,index=3 -F route3.txt</screen>
+<para><command>gpsbabel -i gpx -f routes.gpx -o stmwpp,index=1 -F route1.txt -o stmwpp,index=2 -F route2.txt -o stmwpp,index=3 -F route3.txt</command></para>
a map that will hold all the points to be displayed and is suitably scaled
and centered.
</para>
-<para>For example:
-<screen format="linespecific">gpsbabel -i geo -f geocaching.loc -o tiger,genurl=tiger.ctr -F tiger.dat</screen>
+<para>For example:</para>
+<para><command>gpsbabel -i geo -f geocaching.loc -o tiger,genurl=tiger.ctr -F tiger.dat</command></para>
+<para>
may create tiger.ctr with
-<screen format="linespecific">lat=36.042108&lon=-86.877408&ht=0.161172&wid=0.591771&iwd=768&iht=768</screen>
+<screen format="linespecific">
+lat=36.042108&lon=-86.877408&ht=0.161172&wid=0.591771&iwd=768&iht=768</screen>
After uploading tiger.dat to a public server, a request to
<screen format="linespecific"> http://tiger.census.gov/cgi-bin/mapgen?murl=$THATFILE$(cat tiger.ctr)</screen>
The following command line reads a GPX file with Groundspeak extensions
and writes a Palm document with encrypted hints and logs:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f 12345.gpx -o "palmdoc,dbname=Unfound Geocaches,encrypt,logs" -F 12345.pdb</screen>
+<para><command>gpsbabel -i gpx -f 12345.gpx -o "palmdoc,dbname=Unfound Geocaches,encrypt,logs" -F 12345.pdb</command></para>
on the command line. A simple command line to create PSP files
looks like this:
</para>
-<screen format="linespecific">gpsbabel -i geo -f geocaching.loc -o psp -F NewOrleans.psp</screen>
+<para><command>gpsbabel -i geo -f geocaching.loc -o psp -F NewOrleans.psp</command></para>
<para>
Note the use of "-f" for INPUT files and "-F" for OUTPUT files.
</para>
<member>28 = X9 TrackLog</member>
</simplelist>
</para>
-<para>
- <screen format="linespecific">gpsbabel -i gpx -f some-routes.gpx -r -o stmsdf,index=3 -F single-route.sdf</screen>
-</para>
+ <para><command>gpsbabel -i gpx -f some-routes.gpx -r -o stmsdf,index=3 -F single-route.sdf</command></para>
<para>
<ulink url="http://www.suunto.fi">Suunto Website</ulink>
</para>
may also be used with this program and supports both reading and writing.
</para>
-<screen format="linespecific"> gpsbabel -r -i tef,routevia -f in.xml -o gpx -F out.gpx</screen>
+<para><command> gpsbabel -r -i tef,routevia -f in.xml -o gpx -F out.gpx</command></para>
<para> The following command line reads a GPX file with
Groundspeak extensions and writes a text file with encrypted hints:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f 12345.gpx -o text,encrypt -F 12345.txt</screen>
+<para><command>gpsbabel -i gpx -f 12345.gpx -o text,encrypt -F 12345.txt</command></para>
</para>
<example id="wbt-bin-on-macos">
<title>Command showing conversion of a Wintec binary file to GPX</title>
- <screen format="linespecific">gpsbabel -i wbt-bin -f tracks.bin -o
-gpx -F out.gpx</screen>
+ <para><command>gpsbabel -i wbt-bin -f tracks.bin -o
+gpx -F out.gpx</command></para>
</example>
</para>
<example id="wbt-on-macos">
<title>Command showing WBT-200 download and erase over Bluetooth on Mac OS X</title>
- <screen format="linespecific">gpsbabel -i wbt,erase -f /dev/cu.WBT200-SPPslave-1 -o gpx -F out.gpx</screen>
+ <para><command>gpsbabel -i wbt,erase -f /dev/cu.WBT200-SPPslave-1 -o gpx -F out.gpx</command></para>
</example>
is indeed possible, but if you have more than a few points, it can be a task.
For example:
</para>
-<screen format="linespecific">gpsbabel -i xmapwpt -f Xmap1.wpt -f Xmap2.wpt -o mapsend -F mapsend.wpt</screen>
+<para><command>gpsbabel -i xmapwpt -f Xmap1.wpt -f Xmap2.wpt -o mapsend -F mapsend.wpt</command></para>
<para>
will read the two Xmap .wpt files and write one mapsend file. This
is fine for a small handful of points, but could be quite cumbersome
for folks like me who have 100+ waypoints loaded into XMap. For *nix
folks, something as simple as:
</para>
-<screen format="linespecific">cat *.wpt > /tmp/foo.wpt
-gpsbabel -i xmapwpt -f foo.wpt -o mapsend -F mapsend.wpt </screen>
+<para><command>cat *.wpt > /tmp/foo.wpt</command>
+<command>gpsbabel -i xmapwpt -f foo.wpt -o mapsend -F mapsend.wpt </command></para>
<para>
will do the trick just fine.
</para>